package com.woniuxy.dao;

import com.woniuxy.entity.Test;
import com.woniuxy.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * @author ylr
 * @time 2022/05/30 19:38:17
 */
@Mapper
public interface UserDao {
    /**
     * 根据用户名密码实现登录
     * @param username  用户名
     * @param password  密码
     * @return  返回用户名密码对应的用户
     */
    User login(@Param("username") String username, @Param("password") String password);

    /**
     * 查询用户的所有角色
     * @param username  用户名
     * @return  角色集合
     */
    Set<String> findRoles(String username);

    /**
     * 查询用户的所有权限
     * @param username  用户名
     * @return  权限集合
     */
    Set<String> findPerms(String username);

    /**
     * @description:通过用户id查找用户
     * @author: HeMinghong
     * @date: 2022/6/1 19:53
     * @param: [id]
     * @return: com.woniuxy.entity.User
     **/

    User findUserById(int uid);


    List<Test> findUsers(Map<String, Object> map);

    int addUser(User user);
}
